#define _CRT_SECURE_NO_WARNINGS
//作者：宋安康
//蓝桥杯day01
#include<bits/stdc++.h> //使用万能头文件
using namespace std;

//C++的基本语法，可以独立编码，debug
//C++的基本数据类型，函数，数组等用法
//STL中常用的容器和库函数的用法
//可以独立理解代码的含义，完成一些简单的题目


//const表示常量，后续不可被修改
const int N = 1e5 + 9;
int a[N];//全局数组自动初始化为0

//int main() 
//{
//	cout << "Hello,world!" << endl;  //https://blog.csdn.net/weixin_41785349/article/details/112555190?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171136861516800185894190%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171136861516800185894190&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-112555190-null-null.142^v99^pc_search_result_base9&utm_term=cout%20%3C%3C%20Hello%2Cworld%21%20%3C%3C%20endl%3B&spm=1018.2226.3001.4187
//	printf("Hello,world");
//
//	int x = 3;
//	double d = 3.14;
//	char ch = 'k';
//	char s[] = "hello";
//	bool b = false;
//
//	cout << x << endl;  //endl换行 “\n”换行--更快
//	cout << d << endl;
//	cout << ch << endl;
//	cout << s << endl;
//	cout << b << endl;
//
//
//	return 0;
//}

//int main() 
//{
//	char s[] = "hello";
//	for (int i = 0; i <= 4; i++)
//	{
//		cout << s[i];
//	}
//	cout << '\n';
//	cout << s << '\n';
//
//	int a = 5;
//	int b = 4;
//	int tmp = a;
//	a = b;
//	b = tmp;
//	cout << a << ' ' << b << '\n';
//
//	int n = 10;
//	for (int i = 0; i <= 10; i++)
//	{
//		if (i % 2 == 0)cout << i << '\n';
//	}
//
//	return 0;
//
//}

//string简介
//字符串的处理
//看作字符串类型
//自动处理字符串的内存分配和释放
//动态调整大小
//安全性
//迭代器支持
//兼容性

//int main() 
//{
//	std::string str1; //声明并初始化一个空字符串
//	//cin >> str1;  //读入一行字符串  遇到空格或者回车就停止
//	getline(cin, str1);
//
//	string str2; //声明并初始化一个空字符串
//	getline(cin,str2);
//	//使用字符串字面量初始化字符串
//	string str3 = "hello";
//
//	//使用另一个std::string对象来初始化字符串
//	string str4 = str3;
//
//	//使用部分字符串初始化字符串
//	string str5 = str3.substr(0,5);  //substr(初始位置，长度);
//
//	//使用字符数组初始化字符串
//	const char* charArray = "hello";
//	string str6(charArray);
//
//	//使用重复的字符初始化字符串
//	string str7(8,'A');
//	cout << "str1: " << str1 << endl;
//	cout << "str2: " << str2 << endl;
//	cout << "str3: " << str3 << endl;
//	cout << "str4: " << str4 << endl;
//	cout << "str5: " << str5 << endl;
//	cout << "str6: " << str6 << endl;
//	cout << "str7: " << str7 << endl;
//
//	return 0;
//}

//int main() 
//{
//	char buf[100]; //临时变量，用于输入
//	scanf("%s",buf);
//	string str(buf);//用buf构造str
//	printf("str = %s\n",str.c_str());  //输出str
//
//	return 0;
//}

//获取字符串长度  ： str.length();
//拼接字符串：+ 或者 append
//字符串的查找：find
//字符串替换：replace(子串的起始位置，长度，替换的内容);
//提取子字符串：substr(起始位置，长度);  ----一定不要越界
//字符串的比较：compare 或者直接比较 <, >, =


//int main() 
//{
//	//常见的遍历string的方法有两种：
//	//1、循环枚举下标
//	//2、auto枚举（其中&表示取引用类型，如果对i修改将会改变原来的值）
//	string s = "hello";
//	for (int i = 0; i < s.length(); i++) 
//	{
//		cout << s[i];
//	}
//	cout << '\n';
//
//	for (auto i : s)//复制了s中对应的字符
//	{
//		cout << i;
//		i = 'a';  //此时的修改无效，因为这个i是拷贝出来的，而不是引用s的
//	}
//	cout << '\n';
//	cout << s << '\n';
//
//	for (auto &i : s)
//	{
//		//cout << i;
//		i = 'a';  //此时的修改有效
//	}
//	//cout << '\n';
//	cout << s << '\n';
//	return 0;
//
//}

int main() 
{
	//反转字符串的字符
	string s;
	getline(cin,s);

	//倒着输出
	//for (int i = (int)s.length(); i >= 0; i--)
	//{
	//	cout << s[i];
	//}

	//直接反转
	reverse(s.begin(),s.end());
	cout << s;
	return 0;
}
